package com.combining.f_observer.impl;

import com.combining.f_observer.face.Observer;
import com.combining.f_observer.face.Quackable;

public class DuckCall implements Quackable {
	Observable observable;

	// 把Quackable和Observable组合在一起了，它们知道怎样来委托工作，然后它们就准备好成为Observable了。
	public DuckCall() {
		observable = new Observable(this);
	}

	public void quack() {
		System.out.println("鸭鸣器夸夸叫");
		notifyObservers();
	}

	public void registerObserver(Observer observer) {
		observable.registerObserver(observer);
	}

	public void notifyObservers() {
		observable.notifyObservers();
	}

	public String toString() {
		return "鸭鸣器";
	}
}
